IEEE TIFS'22:通信高效的安全联邦学习方案
安全联邦学习允许多个参与方在一个半可信云服务器的协助下共同训练一个机器学习模型,同时能够保护每个参与方的输入数据不被泄漏。2017年,谷歌利用秘密共享这一密码工具实现了一个安全联邦学习方案。在谷歌的方案中,为了进行训练,每个参与方会进行多轮训练,在每一轮训练中都使用秘密共享技术来生成并传递数据掩码,从而利用掩码来保护数据。该掩码会在服务器对所有参与方的数据进行聚合时消除,保证训练过程的正确性。然而,谷歌的方案中有一个严重的问题:在每一轮训练中,每个参与方都要为其他参与方生成并分发秘密份额。这极大增加了联邦学习系统中的通信轮数与通信量,也是谷歌的联邦学习方案无法实用化部署的重要原因之一。为了解决这个问题,我们基于格密码构造了多用秘密共享方案MuS,实现了每个用户在初始轮后,无需通过网络即可在本地计算更新其他用户的秘密份额,极大降低了秘密共享本身的带宽消耗。本文进一步利用MuS构造了具有通信高效特性的安全联邦学习方案LaF。得益于MuS的特性,LaF的训练过程中,每个参与方仅在本地更新秘密,同时更新的秘密还能够抵抗量子计算机的攻击。
该结果“LaF: Lattice-Based and Communication-Efficient Federated Learning”已于2022年发表在IEEE Transactions on Information Forensics and Security的17卷上,是实验室安全组在人工智能安全领域的研究成果。IEEE Transactions on Information Forensics and Security是计算机学会(CCF)网络与信息安全方向A类期刊,也是信息安全领域的顶级期刊。
论文链接:https://ieeexplore.ieee.org/abstract/document/9808160/
背景与动机
联邦学习是一种能够在多个参与方之间打破数据孤岛并训练全局模型的机器学习算法。在机器学习的运行过程中,各个参与方输入自己的本地数据,利用密码技术保证在不泄漏各方所输入数据的情况下,由一个中心化的服务区对各方输入对数据进行训练,并最终输出一个全局模型。下图展示了联邦学习的典型应用模型。
2017年,谷歌利用Shamir的秘密共享构造了一个多轮安全联邦学习协议。下图简要展示了该协议在每一轮的学习过程。具体来说,在每一轮:(1)每个参与方生成两对公私钥对,并将公钥发送给服务器,这两对公私钥对在用于接下来的学习过程中建立安全信道;(2)每个参与方生成两个掩码,并对这两个掩码执行秘密共享,确保其他所有参与方都拥有秘密份额,再将份额加密后,通过服务区发送给其他参与方;(3)每个参与方计算自己的梯度,利用上述掩码保护所生成的梯度并上传到服务器;(4)等到满足条件的数量的参与方将自己的梯度发送过来,再将当前在线的参与方列表广播给所有参与方;(5)每个在线的参与方根据其他参与方在线或者掉线的情况,选择合适的秘密份额进行恢复,并将恢复出的秘密发送给服务器;(6)最后,服务器根据所收到的秘密重建出参与方的掩码,并对数据执行安全聚合。
在上述过程中,每一轮学习都需要每个参与方生成新的秘密,并将秘密份额发送给对应的其他参与方,秘密份额的数量与参与方的总数量线性相关。在复杂的应用场景下,联邦学习通常会包含许多参与方,并且进行多轮学习,这就会造成系统中的通信开销过于庞大,导致方案实用性不足。同时,谷歌方案中所使用的秘密共享方案与传统的密钥交换方案不具有后量子安全性,在当前量子计算技术快速发展的情况下,难以大规模应用。
设计与实现
为了解决上述问题,我们基于格上困难问题构造了一个多用秘密共享方案MuS,并且用它构造了基于格的联邦学习方案LaF。MuS在后续轮中,允许每个参与方在本地更新获得自己的秘密份额,还同时实现了后量子安全性。与以往的秘密共享方案相比,MuS允许参与方非交互式地更新已经分发的秘密份额。MuS多用秘密共享协议的构造如下所示。
MuS包含四个算法,分别是共享算法Share、份额更新算法UpdateShare、参数更新算法UpdateParam和恢复算法Recover。其中共享算法Share输入秘密共享阈值t、参与方总数n、秘密S和参与方的身份标识集合P,输出为每个参与方生成的秘密份额以及公共参数;在份额更新算法UpdateShare中,每个参与方仅利用密码散列函数,在本地利用旧的秘密份额计算出新的秘密份额,避免了新的秘密分发过程;在参数更新算法UpdateParam中,首先会调用UpdateShare函数获取其他每个参与方的新份额,再利用获得的新份额调用承参数计算算法CalcParam计算得到新的公共参数,并将新的公共参数提交给所有参与方;在参数恢复算法中,输入公共参数,以及至少阈值t个参与方的秘密份额,并最终恢复出所共享的秘密S。
从上述算法过程可见,相比传统的Shamir秘密共享方案,当进行完首轮秘密份额分发后,其他用户不再需要通过网络来获取更新的秘密份额,而只需要在本地利用散列函数计算即可。避免了参与方间在秘密共享阶段的两两交互,降低了通信开销与通信轮数。
随后,利用多用秘密共享协议与后量子安全的密钥交换协议NewHope,构造了具有抗量子安全性的联邦学习方案。该方案分为初始轮和后续轮。在初始轮中,每个参与方进行秘密分发。后续轮中,参与方需要重新分发秘密份额。
LaF整体的执行流程与谷歌的安全机器学习方案相仿。而由于NewHope协议与MuS协议的应用,两者的执行流程又略有不同。在LaF协议中包含两个角色:中心化的聚合服务器与联邦学习过程的参与方。在LaF中,服务器通过安全信道与参与方进行通信,而由于参与方之间不能互相通信,所以服务器会为所有参与方转发消息,在进行秘密共享时,服务器充当方案中的聚合者的角色。而每个参与方均持有一个自己的本地梯度向量,在进行秘密共享时,每个参与方不仅充当秘密分发者的角色,也充当秘密共享中参与方的角色,并持有秘密份额。
LaF在一个服务器和若干参与方之间运行,总共包含3个阶段:系统创建阶段、初始轮次阶段以及后续轮次阶段,如下图所示。在系统创建阶段,服务器运行系统创建算法生成一些系统参数,并把这些系统参数发送给所有参与方,以此完成初始化。此后开始进行模型的训练。
在正式的训练过程中,协议首先会经历一次初始轮次阶段。这个阶段包含四个步骤,分别为密钥交换步骤、共享掩码步骤、加密梯度步骤以及聚合模型步骤:1)密钥交换步骤,每个参与方和其他的所有参与方进行密钥交换,生成两个密钥,第一个用于经由服务器建立参与方之间的安全信道,确保消息的安全性,第二个密钥用于对本地梯度生成掩码,保护参与方的本地梯度;2)共享掩码步骤,每个参与方对三个秘密进行秘密共享,再通过服务器将份额发给其他参与方。其中前两个秘密是参与方的私钥与错误项,用于进行密钥交换,第三个秘密是参与方生成的掩码,以构成双重掩码;3)加密梯度步骤,每个参与方用前述双重掩码保护本地梯度,再将其发送给服务器;4)模型聚合步骤,每个参与方根据其他参与方的离线情况决定发送哪个秘密份额给服务器,接着服务器利用收到的份额恢复相应的秘密,从而对所有的加密梯度进行聚合。
LaF协议在经历一次初始轮次阶段后,将经历若干次后续轮次阶段,直到全局模型收敛。这个阶段只包含三个步骤,分别是密钥交换步骤、加密梯度步骤和聚合模型步骤:1)密钥交换步骤,每个参与方与其他所有参与方进行密钥交换,生成两个密钥,接着运行MuS的参数更新算法为三个新的秘密更新公共参数,其他参与方则运行MuS的份额更新算法更新自己持有的其他参与方的份额;2)加密梯度步骤,该步骤与初始轮次中的加密梯度步骤相同,参与方用前两步中生成的双重掩码来保护本地梯度,并将加密后的梯度发送给服务器;3)聚合模型步骤,该步骤与初始轮次中的聚合模型步骤相同。
从上述协议描述中可发现,LaF协议仅需要在初始轮次让参与方进行秘密共享与秘密份额的交换,在后续轮次则大大简化了这一步骤,这也使得LaF后续轮次的通信十分高效。而NewHope密钥交换协议的应用以及MuS本身的特点,也为LaF提供了抗量子计算机攻击的能力。
最后,论文通过理论分析和实验验证,展现了MuS在节省通信带宽上的有效性,以及基于MuS的LaF安全聚合协议相比谷歌方案的高效性。
详细内容请参见:
Peng Xu, Manqing Hu, Tianyang Chen, Wei Wang, Hai Jin. LaF: Lattice-based and communication-efficient federated learning. IEEE Transactions on Information Forensics and Security. 2022 Jun 27;17:2483-96.
https://ieeexplore.ieee.org/abstract/document/9808160